/// @tags: ConvexHullOpt
#include <algorithm>
#include <cstdio>
#include <iomanip>
#include <iostream>

using namespace std;

namespace BlueQuantum {

int const N = 1e5 + 5;
double const INF = 1e9, EPS = 1e-9;

int n, stk[N];
double f[N];

struct Node {
  double k, x, y, a, b, r;
  int id;

  inline bool operator<(Node const &rhs) const { return k < rhs.k; }
} q[N], tmp[N];

inline double getk(int i, int j) {
  if (abs(q[i].x - q[j].x) <= EPS) return INF;
  return (q[j].y - q[i].y) / (q[j].x - q[i].x);
}

inline void merge(int l, int r, int mid) {
  int lq = l, rq = mid + 1;
  for (int i = l; i <= r; ++i)
    if (lq <= mid && (rq > r || q[lq].x < q[rq].x + EPS)) tmp[i] = q[lq], ++lq;
    else
      tmp[i] = q[rq], ++rq;
  for (int i = l; i <= r; ++i) q[i] = tmp[i];
}

void solve(int l, int r) {
  if (l == r) {
    f[l] = max(f[l], f[l - 1]);
    q[l].y = f[l] / (q[l].a * q[l].r + q[l].b), q[l].x = q[l].y * q[l].r;
    return;
  }
  int mid = (l + r) >> 1, lq = l - 1, rq = mid, top = 0;
  for (int i = l; i <= r; ++i) (q[i].id <= mid) ? tmp[++lq] = q[i] : tmp[++rq] = q[i];
  for (int i = l; i <= r; ++i) q[i] = tmp[i];
  solve(l, mid);
  for (int i = l; i <= mid; ++i) {
    while (top >= 2 && getk(stk[top], i) + EPS > getk(stk[top - 1], stk[top])) --top;
    stk[++top] = i;
  }
  for (int i = mid + 1; i <= r; ++i) {
    while (top >= 2 && getk(stk[top - 1], stk[top]) <= q[i].k + EPS) --top;
    int j = stk[top];
    f[q[i].id] = max(f[q[i].id], q[j].x * q[i].a + q[j].y * q[i].b);
  }
  solve(mid + 1, r);
  merge(l, r, mid);
}

inline int main() {
  cin >> n >> f[0];
  for (int i = 1; i <= n; ++i) {
    cin >> q[i].a >> q[i].b >> q[i].r;
    q[i].k = -q[i].a / q[i].b, q[i].id = i;
  }
  sort(q + 1, q + n + 1);
  solve(1, n);
  cout << fixed << setprecision(3) << f[n];
  return 0;
}

}  // namespace BlueQuantum

int main() {
#ifndef ONLINE_JUDGE
#ifdef LOCAL
  freopen("/tmp/CodeTmp/testdata.in", "r", stdin);
  freopen("/tmp/CodeTmp/testdata.out", "w", stdout);
#else
  freopen("P4027 [NOI2007] 货币兑换.in", "r", stdin);
  freopen("P4027 [NOI2007] 货币兑换.out", "w", stdout);
#endif
#endif

  ios::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);
  return BlueQuantum::main();
}
